package trading.formulas.functions;

import trading.Parameters;
import trading.data.IStockTickDataCollection;

public interface IFunction 
{
	public float getValue(String dataType, IStockTickDataCollection dataCollection, int index) throws TradingFunctionException;
	
	/**
	 * The IFunctionProvider provide new tick data.  
	 * @param dataCollection
	 * @param index
	 * @param provider
	 * @return
	 */
	public float getValue(String dataType, IStockTickDataCollection dataCollection, int index, IDataFunctionProvider provider);
	
	public Parameters getParameters();
	
	public String getName();
	
}
